package com.malty.utils.innerclass;

public class LocalInnerClass {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.m1();
        System.out.println(outer.hashCode());
    }
}

// 外部类
class Outer {
    private int n1 = 100000;

    private void m2() { // 私有方法
        System.out.println("outer02 m2()");
    }

    public void m1() { // 方法
        // 1. 局部内部类是定义在外部
        final class Inner02 { // 局部内部类
            private int n1 =10;
            public void f1() {
                // 局部内部类里面可以直接访问外部类的成员，比如 n1 和 m2
                System.out.println("n1=" + Outer.this.n1);
                m2();
                System.out.println(Outer.this.hashCode());
            }
        }
        // 外部类在方法中，可以创建内部累
        Inner02 inner02 = new Inner02();
        inner02.f1();
    }
}
